在项目中使用本地jQuery时, 写代码时不会报错, 但是经过webpack打包后, 文件会报$ is not defined or jQuery is not defined的错误,这个错误很明显就是webpack打包后的文件找不到$和jQuery变量, 那么我们来解决这个问题.

解决方案

既然webpack找不到这两个变量, 我们就在配置文件中直接告诉它好了.

  1. 增加alias配置, 告诉jquery变量对应的文件路径

20220110082852-2022-01-10-08-28-53

  1. 引入webpack变量

20220110083803-2022-01-10-08-38-04

  1. 增加webpack插件配置, 告诉jquery $ jQuery 这三个变量等价

20220110083051-2022-01-10-08-30-52

至此我们就解决了这个问题.

扩展

对于以上的解决方案, 是有通用性的, 凡是webpack打包后找不到某些变量, 都可以用以上方案进行解决.

替代方案

其实我们也不必打包jquery文件, 可以利用cdn, 这样还能节约自己服务器的带宽.

  1. 在index.html文件页脚中引入外部CDN

20220110083319-2022-01-10-08-33-19

  1. 安装@types/jquery作为开发依赖

    npm install @types/jquery -D

参考资料

Webpack gives $ is not defined or jQuery is not defined error in console

THE END
推荐文章
  • 240109_在上传wordpress主题时,如何修复“The Link You Followed Has Expired”错误

  • 部署或移植网站的步骤

  • 在vscode中设置代码片段

  • 黄帝内经-第40篇-腹中论篇(3)

  • 如何测试crontab是否有效

  • 重新组织函数(1)

  • 黄帝内经-第41篇-刺腰痛篇(1)

  • git的分支操作

评论 共0条
文本

名字

0字

链接

链接名称

https://example.com example.com

即将访问外部链接,请注意确认目标地址的安全性

下载

名字

安全提示

本站资源均来自网络收集,下载前请注意文件安全

文件资源

文件名称

文件描述

智能体

名字

0字

输出结果

0字

开启精彩搜索

热门搜索

暂无

历史搜索

用户名/邮箱/手机号
密码
用户名
密码
重复密码
邮箱/手机号
验证码
发送验证码
59秒后可重发
注册
找回密码
邮箱/手机号
验证码
发送验证码
59秒后可重发
新密码
重复密码
请选择支付方式
余额支付

购买将消耗【10

微信支付
微信扫码支付 0 元
[ 04分50秒 ]
请使用微信扫一扫
扫描二维码支付
支付宝支付
支付宝扫码支付 0 元
[ 04分50秒 ]
请使用支付宝扫一扫
扫描二维码支付
已完成支付
未完成支付

请输入验证码

点击验证码可以刷新

你确认吗?

确认

2024年10月1日

0字

0字

2024年10月

0字

0字

新增

0字

0字

新增

0字

0字